A mobile electronic device (or simply “mobile device”), such as a smartphone, tablet computer, cordless telephone, handheld two-way radio, digital audio recorder, or other device, may maintain a model of its acoustic environment. The term “acoustic environment” may refer to the location, in relation to a microphone array at the mobile device for example, of audio sources in a physical space in which the mobile device is situated. The location of each audio source may be represented as a direction or angle of arrival of the audio from the source relative to the microphone array. The term “acoustic environment” may alternatively, or in conjunction, refer to the location of reflecting surfaces within the physical space that may reflect sound and thereby cause acoustic echoes. This may be represented at the device as an acoustic path between an audio source (e.g. a speaker of the mobile device) and a microphone of the device.
A model of the acoustic environment may be used by the mobile device for various purposes. For example, a model of the location of one or more audio sources in the physical space relative to the device, may be used to facilitate beamforming. Beamforming generally refers to a signal processing technique used for directional signal reception by sensor arrays. In the case of audio, this is achieved by combining signals from the microphones comprising the array in such a way that desired signals at particular angles experience constructive interference while undesired signals experience destructive interference. In this manner, a desired audio source (e.g. a device user who is actively speaking) may be enhanced while undesired audio sources (e.g. other persons or background noise) may be attenuated or cancelled.
In another example, a model of the reflecting surfaces of the physical space may be used to facilitate echo cancellation. The term “echo cancellation” as used herein refers to the removal of an acoustic echo, such as the reflection of sound waves by surfaces in a physical space in which the mobile device is situated, via signal processing. For instance, when a remote talker's voice is played through the device speaker and bounces off a surface near the device, such as a proximate wall or the face of the user holding the device to his or her ear, an acoustic echo may be created. This acoustic echo may be received at the microphone of the mobile device. Cancellation of such an acoustic echo at the device may be desirable to avoid transmitting it back to the remote talker, who may consider it distracting to hear his or her own voice after a slight round-trip transmission delay. An acoustic echo can be removed at the mobile device by first identifying duplicated sounds (echo) in received audio input then “subtracting” those duplicate sounds from the received audio input. This technique may be implemented using a digital signal processor (DSP) hardware and/or software for example.